import { z } from 'zod';
import { analyticsSchema } from './analytics.js';
import { anchorSchema, topAnchorSchema } from './anchors.js';
import { apiSchema, openApiSchema } from './apiReference.js';
import { nameSchema, logoSchema, modeToggleSchema, isWhiteLabeledSchema, footerSocialsSchema, feedbackSchema, metadataSchema, ctaButtonSchema, searchSchema, redirectsSchema, } from './basics.js';
import { colorsSchema } from './colors.js';
import { faviconSchema } from './favicon.js';
import { integrationsSchema } from './integrations.js';
import { navigationSchema } from './navigation.js';
import { seoSchema } from './seo.js';
import { tabsSchema, primaryTabSchema } from './tabs.js';
import { versionsSchema } from './versions.js';
export const mintConfigSchema = z.object({
    $schema: z.string().url().optional().default('https://mintlify.com/schema.json'),
    mintlify: z.string().optional(),
    name: nameSchema,
    logo: logoSchema.optional(),
    favicon: faviconSchema,
    openapi: openApiSchema.optional(),
    api: apiSchema.optional(),
    modeToggle: modeToggleSchema.optional(),
    versions: versionsSchema.optional(),
    metadata: metadataSchema.optional(),
    colors: colorsSchema,
    topbarCtaButton: ctaButtonSchema.optional(),
    topbarLinks: ctaButtonSchema.array().optional(),
    navigation: navigationSchema,
    primaryTab: primaryTabSchema.optional(),
    topAnchor: topAnchorSchema.optional(),
    anchors: anchorSchema.array().optional(),
    tabs: tabsSchema.optional(),
    footerSocials: footerSocialsSchema.optional(),
    backgroundImage: z.string().optional(),
    feedback: feedbackSchema.optional(),
    analytics: analyticsSchema.optional(),
    integrations: integrationsSchema.optional(),
    isWhiteLabeled: isWhiteLabeledSchema.optional(),
    search: searchSchema.optional(),
    redirects: redirectsSchema.optional(),
    seo: seoSchema.optional(),
});
